$( function() {
	$('th.parent').css("cursor", "pointer").attr("title", "点击这里展开/关闭").click(
			function() {
				$(this).siblings('.child-' + this.id).toggle();
			});
	// 默认展开
	// $('tr[@class^=child-]').hide().children('td');
});

$(document).ready( function() {
	var tdNods = $("td");
	tdNods.click(tdClick);
});

// td的点击事件
function tdClick() {
	//将td的文本内容保存
	var td = $(this);
	var tdText = td.text();
	// 将td的内容清空
	var tdid = td.attr("id");
	td.empty();
	// 新建一个输入框
	var input = $("<input>");
	// 将保存的文本内容赋值给输入框
	input.attr("value", tdText);
	// 将输入框添加到td中
	td.append(input);
	// 给输入框注册事件，当失去焦点时就可以将文本保存起来
	input.blur( function() {
		//将输入框的文本保存
			var input = $(this);
			var inputText = input.val();
			// 将td的内容，即输入框去掉,然后给td赋值
			var td = input.parent("td");
			$.post("edit",{tdid:tdid,val:inputText},function(data){
				//alert(data);
				td.html(inputText);
				// 让td重新拥有点击事件
				td.click(tdClick);
			});
		});

	input.keyup( function(event) {
		//1.获取当前用户按下的键值
			// 解决不同浏览器获得事件对象的差异,
			// IE用自动提供window.event，而其他浏览器必须显示的提供，即在方法参数中加上event
			var myEvent = event || window.event;
			var keyCode = myEvent.keyCode;
			// 2.判断是否是ESC键按下
			if (keyCode == 27) {
				//将input输入框的值还原成修改之前的值
				input.val(tdText);
			}
		});
	// 将输入框中的文本高亮选中
	// 将jquery对象转化为DOM对象
	var inputDom = input.get(0);
	inputDom.select();
	// 将td的点击事件移除
	td.unbind("click");
}